小米 AC2100 路由器刷入及配置 OpenWRT 您所在的位置:网站首页 ac2100 openwrt底包 小米 AC2100 路由器刷入及配置 OpenWRT

小米 AC2100 路由器刷入及配置 OpenWRT

2024-07-08 14:31| 来源: 网络整理| 查看: 265

由于疫情的原因被封锁在家远程办公,但是上网冲浪各种不方便, 于是掏出小米 AC2100 路由器,架好扶墙新姿势。

要说这台小米 AC2100 还是我两周前在网上买回来的,本是打算用来做中继路由蹭房东家的 WiFi, 但是之后自己办了长城宽带,而运营商给的路由器又有 WiFi 功能,所以这台小米 AC2100 路由器就被闲置了。 没想到这次疫情封锁期间却派上了大用场。

之所以购入小米 AC2100,主要是三个因素:

可刷 OpenWRT

外观独特(圆筒身材)

价格便宜(入手¥239)

刷入 OpenWRT 的过程完全参照官方提供的文档 [1], 需要先给路由器固件降级,利用小米官方固件 2.0.722 版本的漏洞,破解路由器 root 帐号的密码; ssh 登录路由器后即可刷入 OpenWRT 固件,成功后路由器自动重启,重新登录上去后就会发现系统已经变成了 OpenWRT, 此时路由器的地址也已变成 192.168.1.1。

第一次登录刷机后的路由器发现没有 Web 管理界面 —— 因为官方提供的固件默认没有安装 luci 软件包。 那索性尝试下使用 uci 命令来配置对路由器进行管理。

(可选)修改 lan 口的网段,默认为 192.168.1.0/24:

$ uci set network.lan.ipaddr='' $ uci set network.lan.netmask='' $ uci commit $ /etc/init.d/network reload

开启 WiFi:

$ uci set wireless.radio0.country='CN' $ uci set wireless.radio1.country='CN' $ uci set wireless.radio0.disabled='0' $ uci set wireless.radio1.disabled='0' $ uci commit wireless $ wifi up

设置 WiFi 的 SSID 及密码:

$ uci set wireless.default_radio0.ssid='' $ uci set wireless.default_radio1.ssid='' $ uci set wireless.default_radio0.encryption='psk2' $ uci set wireless.default_radio1.encryption='psk2' $ uci set wireless.default_radio0.key='' $ uci set wireless.default_radio1.key='' $ uci commit wireless $ wifi reload 安装 v2ray

从 此仓库 下载对应版本即可。

安装及配置 iptables

安装 ipset:

$ opkg update $ opkg install ipset

另外,如果需要 iptables 支持 tproxy,需要安装:

$ opkg install iptables-mod-tproxy

配置 iptables,使其加载 /etc/firewall.user 文件中自定义的防火墙规则:

$ uci add firewall include $ uci set firewall.@include[-1].path='/etc/firewall.user' $ uci commit firewall $ vim /etc/firewall.user 安装及配置 DNS

首先关闭默认由 dnsmasq 提供的 DNS 服务:

$ /etc/init.d/dnsmasq stop $ uci set dhcp.@dnsmasq[0].port='0' $ uci commit dhcp $ /etc/init.d/dnsmasq start

安装 dnscrypt-proxy 并配置其监听 lan 口和 lo 口:

$ opkg update $ opkg install dnscrypt-proxy2 $ /etc/init.d/dnscrypt-proxy stop # vim /etc/dnscrypt-proxy2/dnscrypt-proxy.toml listen_addresses = [':53', '127.0.0.1:53'] # /etc/init.d/dnscrypt-proxy start

配置 dnsmasq,使其在提供 DHCP 服务的时候将 dns server 设置成 lan 口地址:

# uci add_list dhcp.lan.dhcp_option='6,' # uci commit dhcp # /etc/init.d/network restart 安装及配置 Wireguard [2] [3]

安装 wireguard-tool :

$ opkg update $ opkg install wireguard-tools

配置 wireguard 网口 :

$ wg genkey | tee wgslave.key | wg pubkey > wgslave.pub $ uci set network.wgslave="interface" $ uci set network.wgslave.proto="wireguard" $ uci set network.wgslave.private_key="" $ uci add_list network.wgslave.addresses="" $ uci commit network $ /etc/init.d/network restart

配置 wireguard 客户端:

$ uci add network wireguard_wgslave $ uci set network.@wireguard_wgslave[-1].public_key="" $ uci set network.@wireguard_wgslave[-1].endpoint_host="" $ uci set network.@wireguard_wgslave[-1].endpoint_port="" $ uci set network.@wireguard_wgslave[-1].persistent_keepalive="25" $ uci set network.@wireguard_wgslave[-1].route_allowed_ips="1" $ uci add_list network.@wireguard_wgslave[-1].allowed_ips="" $ uci commit network $ /etc/init.d/network restart

(其中关于 route_allowed_ips 的作用可以参考 源代码 )

查看 wireguard 当前配置:

$ wg showconf wgslave

Thanks for reading :)

References [1]

OpenWRT: MI Router AC2100

[2]

OpenWRT: WireGuard client

[3]

Setting up a wireguard server running on an OpenWRT router



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有